import React, { Component } from "react";
// 高阶组件：以一个组件作为参数，并且返回一个新组件的函数

// 可以提供相同的结构或者属性等
// 作用：高阶组件的作用是为了增强组件的功能，并且进行复用

const hoc = (Comp) => {
  return class extends Component {
    render() {
      // console.log(1, this.props);
      return (
        <>
          <Comp a="3" {...this.props}></Comp>
          {/* <footer>@千锋教育</footer> */}
        </>
      );
    }
  };
};

class App extends Component {
  state = {};
  render() {
    console.log(this.props);
    return (
      <>
        <h2>高阶组件</h2>
        <p>123</p>
      </>
    );
  }
}

// const App2 = hoc(App);

export default hoc(App);
